perm filename DIFFIE.LAP[CMP,SYS] blob sn#164909 filedate 1975-06-25 generic text, type T, neo UTF8
(LAP SUBFUN1SUBFUN1SUBFUN1DIFFIE SUBR) 
	(PUSH P 1) 
	(HLRZ@ 1 (SPECIAL REDNUM)) 
	(PUSH P 1) 
	(HLRZ@ 1 (SPECIAL REDSYM)) 
	(HRRZ@ 5 -1 P) 
	(HLRZ@ 5 5) 
	(HLRZ@ 4 -1 P) 
	(HRRZ@ 3 -1 P) 
	(HRRZ@ 3 3) 
	(PUSH P 2) 
	(MOVE 2 (SPECIAL CONCNUM)) 
	(PUSH P 1) 
	(MOVE 1 (SPECIAL CANSYM)) 
	(CALL 5 (E REMOVEDUPS)) 
	(MOVE 4 -3 P) 
	(HRRZ@ 3 (SPECIAL REDNUM)) 
	(HRRZ@ 3 3) 
	(HLRZ@ 3 3) 
	(HRRZ@ 2 (SPECIAL REDSYM)) 
	(HRRZ@ 2 2) 
	(HLRZ@ 2 2) 
	(CALL 4 (E MATCH)) 
	(HRRZ@ 5 -1 P) 
	(HLRZ@ 5 5) 
	(HLRZ@ 4 -1 P) 
	(HRRZ@ 3 -1 P) 
	(HRRZ@ 3 3) 
	(MOVE 2 (SPECIAL ALTNUM)) 
	(MOVEM 1 -3 P) 
	(MOVE 1 (SPECIAL CANSYM)) 
	(CALL 5 (E REMOVEDUPS)) 
	(MOVE 4 -1 P) 
	(HRRZ@ 3 (SPECIAL REDNUM)) 
	(HRRZ@ 3 3) 
	(HRRZ@ 3 3) 
	(HRRZ@ 2 (SPECIAL REDSYM)) 
	(HRRZ@ 2 2) 
	(HRRZ@ 2 2) 
	(CALL 4 (E MATCH)) 
	(MOVE 4 1) 
	(MOVE 3 -3 P) 
	(MOVE 2 -2 P) 
	(POP P 1) 
	(SUB P (C 0 0 3 3)) 
	(JCALL 4 (E MAKECNDFORM)) 
	NIL 

(LAP SUBFUN1SUBFUN1DIFFIE SUBR) 
	(JSP 6 SPECBIND) 
	(0 1 (SPECIAL CONCNUM)) 
	(0 2 (SPECIAL ALTNUM)) 
	(PUSH P 4) 
	(MOVE 4 (SPECIAL INEQTABLE)) 
	(MOVEM 4 (SPECIAL INEQTABLEG)) 
	(MOVE 5 (SPECIAL SEEN)) 
	(PUSH P 3) 
	(MOVE 3 -1 P) 
	(HLRZ@ 2 (SPECIAL REDSYM)) 
	(HLRZ@ 2 2) 
	(MOVE 1 0 P) 
	(CALL 5 (E PROCESSTRUECASE)) 
	(MOVE 3 -1 P) 
	(MOVEM 3 (SPECIAL EQTABLEG)) 
	(MOVE 4 (SPECIAL INEQTABLE)) 
	(MOVEM 4 (SPECIAL INEQTABLEG)) 
	(MOVE 5 (SPECIAL SEEN)) 
	(HLRZ@ 2 (SPECIAL REDSYM)) 
	(HLRZ@ 2 2) 
	(EXCH 1 0 P) 
	(CALL 5 (E PROCESSFALSECASE)) 
	(MOVE 2 1) 
	(POP P 1) 
	(SUB P (C 0 0 1 1)) 
	(CALL 2 (E SUBFUN1SUBFUN1SUBFUN1DIFFIE)) 
	(JRST 0 SPECSTR) 
	NIL 

(LAP SUBFUN1DIFFIE SUBR) 
	(JSP 6 SPECBIND) 
	(0 1 (SPECIAL CANSYM)) 
	(0 2 (SPECIAL INEQTABLE)) 
	(0 3 (SPECIAL SEEN)) 
	(HLRZ@ 2 (SPECIAL REDNUM)) 
	(HLRZ@ 2 2) 
	(MOVEM 2 (SPECIAL MAXASSIGNG)) 
	(MOVEM 2 (SPECIAL MAXSEENTEMPG)) 
	(HLRZ@ 2 (SPECIAL REDNUM)) 
	(HLRZ@ 2 2) 
	(HLRZ@ 1 (SPECIAL REDNUM)) 
	(HLRZ@ 1 1) 
	(CALL 2 (E CONS)) 
	(MOVEI 2 (QUOTE 0)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE 0)) 
	(CALL 2 (E CONS)) 
	(CALL 1 (E NCONS)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(EXCH 3 1) 
	(MOVE 2 (SPECIAL MAXSEENTEMPG)) 
	(MOVE 1 (SPECIAL NUMG)) 
	(CALL 3 (E BREADTHTODEPTH)) 
	(HLRZ@ 2 (SPECIAL REDNUM)) 
	(HLRZ@ 2 2) 
	(MOVEM 2 (SPECIAL MAXSEENTEMPG)) 
	(MOVE 2 (SPECIAL MAXASSIGNG)) 
	(PUSH P 1) 
	(HLRZ@ 1 (SPECIAL REDNUM)) 
	(HLRZ@ 1 1) 
	(CALL 2 (E CONS)) 
	(MOVEI 2 (QUOTE 0)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE 0)) 
	(CALL 2 (E CONS)) 
	(CALL 1 (E NCONS)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(MOVE 3 1) 
	(MOVE 2 (SPECIAL MAXSEENTEMPG)) 
	(MOVE 1 (SPECIAL NUMG)) 
	(CALL 3 (E BREADTHTODEPTH)) 
	(HLRZ@ 2 (SPECIAL REDNUM)) 
	(PUSH P 1) 
	(HLRZ@ 1 (SPECIAL REDSYM)) 
	(CALL 2 (E GETUPDATEPARAMS)) 
	(MOVE 4 (SPECIAL EQTABLEG)) 
	(MOVE 3 1) 
	(POP P 2) 
	(POP P 1) 
	(CALL 4 (E SUBFUN1SUBFUN1DIFFIE)) 
	(JRST 0 SPECSTR) 
	NIL 

(LAP DIFFIE SUBR) 
	(JSP 6 SPECBIND) 
	(0 2 (SPECIAL REDSYM)) 
	(0 3 (SPECIAL REDNUM)) 
	(PUSH P 1) 
	(PUSH P 4) 
	(JUMPN 2 TAG2) 
	(MOVE 1 (SPECIAL NN)) 
	(JRST 0 TAG1) 
TAG2 	(HLRZ@ 1 -1 P) 
	(MOVEM 1 (SPECIAL SYMG)) 
	(HRRZ@ 1 -1 P) 
	(MOVEM 1 (SPECIAL NUMG)) 
	(CLEARM 1 (SPECIAL UNSPECFOUNDG)) 
	(MOVE 1 (SPECIAL REDSYM)) 
	(CALL 1 (E CNDFORM)) 
	(JUMPE 1 TAG6) 
	(HLRZ@ 3 0 P) 
	(MOVEM 3 (SPECIAL EQTABLEG)) 
	(HRRZ@ 4 0 P) 
	(HLRZ@ 4 4) 
	(MOVEM 4 (SPECIAL INEQTABLEG)) 
	(HRRZ@ 5 0 P) 
	(HRRZ@ 5 5) 
	(MOVE 2 (SPECIAL REDNUM)) 
	(MOVE 1 (SPECIAL REDSYM)) 
	(CALL 5 (E MATCHNODE)) 
	(JUMPE 1 TAG6) 
	(MOVE 1 (SPECIAL UNSPECFOUNDG)) 
	(JUMPE 1 TAG11) 
	(HLRZ@ 1 1) 
	(MOVEM 1 (SPECIAL REDSYM)) 
	(HRRZ@ 1 (SPECIAL UNSPECFOUNDG)) 
	(MOVEM 1 (SPECIAL REDNUM)) 
	(CLEARM 1 (SPECIAL UNSPECFOUNDG)) 
	(JRST 0 TAG10) 
TAG11 
TAG12 
TAG10 	(MOVE 2 (SPECIAL SEENG)) 
	(HLRZ@ 1 (SPECIAL REDNUM)) 
	(HLRZ@ 1 1) 
	(CALL 2 (E CONS)) 
	(MOVE 3 1) 
	(HRRZ@ 2 0 P) 
	(HLRZ@ 2 2) 
	(MOVE 1 (SPECIAL SYMG)) 
	(CALL 3 (E SUBFUN1DIFFIE)) 
	(JRST 0 TAG5) 
TAG6 	(MOVE 1 (SPECIAL MISMATCHG)) 
	(JUMPE 1 TAG14) 
	(CLEARM 1 (SPECIAL MISMATCHG)) 
	(MOVE 2 (SPECIAL NUMG)) 
	(MOVE 1 (SPECIAL SYMG)) 
	(CALL 2 (E CONS)) 
	(JRST 0 TAG5) 
TAG14 	(MOVE 1 (SPECIAL REMOVEMISMATCHMODE)) 
	(JUMPE 1 TAG16) 
	(MOVE 1 (SPECIAL REDSYM)) 
	(CALL 1 (E ATOM)) 
	(JUMPN 1 TAG16) 
	(MOVE 1 (SPECIAL MISMATCHPARAMS)) 
	(JUMPE 1 TAG16) 
	(HLRZ@ 1 (SPECIAL REDSYM)) 
	(CAIE 1 (QUOTE FN)) 
	(JRST 0 TAG20) 
	(HRRZ@ 1 (SPECIAL REDNUM)) 
	(CALL 1 (E CAAR)) 
	(JRST 0 TAG17) 
TAG20 	(HLRZ@ 1 (SPECIAL REDNUM)) 
TAG21 
TAG17 	(HLRZ@ 2 (SPECIAL MISMATCHPARAMS)) 
	(HLRZ@ 2 2) 
	(HRRZ@ 2 2) 
	(HLRZ@ 2 2) 
	(CAMN 1 2) 
	(JRST 0 TAG15) 
TAG16 	(HLRZ@ 3 0 P) 
	(MOVEM 3 (SPECIAL EQTABLEG)) 
	(HRRZ@ 5 0 P) 
	(HRRZ@ 5 5) 
	(HRRZ@ 4 0 P) 
	(HLRZ@ 4 4) 
	(MOVE 2 (SPECIAL REDNUM)) 
	(MOVE 1 (SPECIAL REDSYM)) 
	(CALL 5 (E MATCHTERMINALNODE)) 
	(CLEARM 1 (SPECIAL MISMATCHG)) 
	(MOVE 2 (SPECIAL NUMG)) 
	(MOVE 1 (SPECIAL SYMG)) 
	(CALL 2 (E CONS)) 
	(JRST 0 TAG5) 
TAG15 	(MOVE 5 (SPECIAL REDFORMPATHS)) 
	(MOVE 4 0 P) 
	(MOVE 3 (SPECIAL REDNUM)) 
	(MOVE 2 (SPECIAL REDSYM)) 
	(MOVE 1 -1 P) 
	(CALL 5 (E MISMATCHCONTROLLER)) 
TAG23 
TAG5 
TAG3 
TAG1 	(SUB P (C 0 0 2 2)) 
	(JRST 0 SPECSTR) 
	NIL